
using Nop.Core;
using Nop.Core.Domain.XJ;
using System.Collections.Generic;

namespace Nop.Services.XJ
{
	/// <summary>
	/// XJEquipmentStock service
	/// </summary>
	public partial interface IXJEquipmentStockService
	{
		/// <summary>
		/// Gets all XJEquipmentStocks
		/// </summary>
		/// <returns>XJEquipmentStock</returns>
		IList<XJEquipmentStock> GetAllXJEquipmentStocks();

		IList<XJEquipmentStock> GetStocksByIds(int[] ids);

		IPagedList<XJEquipmentStockTemp> GetAllStocks(int categoryId = 0, int placeId = 0, int partnerId = 0, int equipmentId = 0, string keyword = "", string name = "", string pp = "", string gg = "", string xh = "", string location = "", bool showHidden = true, bool onlyStock = false, int state = 0, string sort = "", int pageIndex = 0, int pageSize = int.MaxValue);

		/// <summary>
		/// Gets a XJEquipmentStock 
		/// </summary>
		/// <param name="xJEquipmentStockId">XJEquipmentStock identifier</param>
		/// <returns>XJEquipmentStock</returns>
		XJEquipmentStock GetXJEquipmentStockById(int xJEquipmentStockId);

		XJEquipmentStock GetXJEquipmentStockByInDetail(XJEquipmentStockInDetail detail);

		/// <summary>
		/// Inserts a XJEquipmentStock
		/// </summary>
		/// <param name="xJEquipmentStock">XJEquipmentStock</param>
		void InsertXJEquipmentStock(XJEquipmentStock xJEquipmentStock);

		/// <summary>
		/// Updates the XJEquipmentStock
		/// </summary>
		/// <param name="xJEquipmentStock">XJEquipmentStock</param>
		void UpdateXJEquipmentStock(XJEquipmentStock xJEquipmentStock);

		/// <summary>
		/// Deletes a XJEquipmentStock
		/// </summary>
		/// <param name="XJEquipmentStock">XJEquipmentStock</param>
		void DeleteXJEquipmentStock(XJEquipmentStock xJEquipmentStock);
	}
}

